/**
 * 有个内含单词的超大文本文件，给定任意两个不同的单词，找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次，而每次寻找的单词不同，你能对此优化吗?
 *https://leetcode.cn/problems/find-closest-lcci/
 *思路：从左到右遍历数组 words，当遍历到 word1  时，如果已经遍历的单词中存在 word2 ，为了计算最短距离，应该取最后一个已经遍历到的 word2 所在的下标，计算和当前下标的距离。
 * 同理，当遍历到 word2 时，应该取最后一个已经遍历到的 word1   所在的下标，计算和当前下标的距离。
 */
class FindClosestGuiFan {
    public int findClosest(String[] words, String word1, String word2) {
        int len=words.length;
        int ans=len;
        int index1=-1;
        int index2=-1;
        for(int i=0;i<len;i++){
            if(words[i].equals(word1)){
                index1=i;
            }
            else if(words[i].equals(word2)){
                index2=i;
            }
            if(index1>=0&&index2>=0){
                ans=Math.min(ans,Math.abs(index1-index2));
            }
        }
        return ans;
    }
}